﻿/***************************************************************************************
   Date    : February 7, 2007
   Purpose : Implement the BatsmanInfo Class
   Maintenance Log : 
   Revision		Date			Description 
   --------		---------		-----------------
	1.0		    7/02/2007		Initial Release

****************************************************************************************/


namespace Hclt.Msft.Til.CricketScoreboard
{
    /// <summary>
    /// Stores the information for a particular batsman
    /// </summary>
    public class BatsmanInfo
    {

        #region Private Members

        private string batsmanName;
        private int batsmanScore;
        private int totalBallsPlayed;
        private int totalFours;
        private int totalSixes;
        private float strikeRate;
        private BatsmanStatus status;
        private string statusDescription;
        
        #endregion

        #region Public Properties

        /// <summary>
        /// Gets or Sets Batsman Current Status Description.
        ///  Describe The Details Of How The Batsman Got Out.
        /// </summary>
        public string StatusDescription
        {
            get
            {
                return statusDescription;
            }
            set
            {
                statusDescription = value;
            }
        }

        /// <summary>
        /// Gets or Sets Batsman Name
        /// </summary>
        public string BatsmanName
        {
            get
            {
                return batsmanName;
            }
            set
            {
                batsmanName = value;
            }
        }

        /// <summary>
        /// Gets or Sets Batsman Current Total Score.
        /// </summary>
        public int BatsmanScore
        {
            get
            {
                return batsmanScore;
            }
            set
            {
                batsmanScore = value;
            }
        }

        /// <summary>
        /// Gets or Sets Total Balls Played By The Batsman
        /// </summary>
        public int TotalBallsPlayed
        {
            get
            {
                return totalBallsPlayed;
            }
            set
            {
                totalBallsPlayed = value;
            }
        }

        /// <summary>
        /// Gets or Sets Total Fours Hit By The Batsman.
        /// </summary>
        public int TotalFours
        {
            get
            {
                return totalFours;
            }
            set
            {
                totalFours = value;
            }
        }

        /// <summary>
        /// Gets or Sets Total Sixes Hit By The Batsman.
        /// </summary>
        public int TotalSixes
        {
            get
            {
                return totalSixes;
            }
            set
            {
                totalSixes = value;
            }
        }

        /// <summary>
        /// Gets or Sets Strike Rate Of The Batsman.
        /// </summary>
        public float StrikeRate
        {
            get
            {
                return strikeRate;
            }
            set
            {
                strikeRate = value;
            }
        }

        /// <summary>
        /// Gets or Sets The Current Status Of The Batsman.
        /// </summary>
        public BatsmanStatus Status
        {
            get
            {
                return status;
            }
            set
            {
                status = value;
            }
        }

        #endregion
    }
}
